The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
Hierarchical data objects, such as JavaScript Object Notation (JSON) documents, are becoming an increasingly popular vehicle for transmitting and storing data. However, querying the hierarchical data objects may be computationally expensive, particularly as the hierarchical data objects store an ever-increasing amount of data. An approach for reducing the algorithmic complexity of executing a query may involve binary encoding of a hierarchical data object. However, this approach may introduce the overhead and complexity of managing a central dictionary or schema. Another approach may involve compressing data to utilize a smaller memory footprint. However, compression schemes typically require all data to be decompressed before specific data can be accessed. Yet another approach may involve tree-structured data that allows skipping of data irrelevant to the query. However, tree-structured data may still require a linear scan of all child nodes at any given level due to the absence of a predictable order to the child nodes. Thus, there is a need for a comprehensive approach that effectively reduces algorithmic complexity in terms of both time and space.